package com.dhecp.project.finance.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.dhecp.core.genericDao.GenericDao;
import com.dhecp.project.finance.domain.AccountCountForCompany;
import com.dhecp.project.finance.domain.AccountDetailedForCompanyDJ;

/**
 * 公司实时资金 DAO
 * @author DH-Xxj
 * @version 2022年10月19日
 */
public interface AccountCountForCompanyMapper extends GenericDao<AccountCountForCompany, String>{

	/**
	 * 根据公司编码查询
	 */
	AccountCountForCompany findByVGsBm(@Param("vGsBm") String vGsBm);

	/**
	 * 根据公司简称查询
	 */
	AccountCountForCompany findByShortName(@Param("shortName") String shortName);

	/**
	*@Description: 根据公司编码冻结资金
	*@Param: [vGsBm]
	*@return: com.dhecp.project.finance.domain.AccountDetailedForCompanyDJ
	*@Author: hlf
	*@date: 2023-05-30 9:27
	*/
	List<AccountDetailedForCompanyDJ> findByDj(@Param("vGsBm") String vGsBm);

	/**
	 *@Description: 根据公司编码最新冻结资金（排除被解冻的资金）
	 *@Param: [vGsBm]
	 *@return: com.dhecp.project.finance.domain.AccountDetailedForCompanyDJ
	 *@Author: fxz
	 *@date: 2023-07-05 12:00
	 */
	List<AccountDetailedForCompanyDJ> findByDjNew(@Param("vGsBm") String vGsBm);

	/**
	 * 查询
	 * @param params
	 * @return List - AccountCountForCompany
	 * @author DH-Xxj
	 */
	List<AccountCountForCompany> selectAll(Map<String, Object> params);


	/**
	 * 查询单个实体
	 * @author Jason
	 */
	AccountCountForCompany queryFirstByVGsBm(@Param("vGsBm") String vGsBm);

	/**
	 * 修改一个实体对象（UPDATE一条记录）
	 *
	 * @param entity 实体对象
	 * @return 修改的对象个数，正常情况=1
	 */
	int updateAccountCountForCompany(AccountCountForCompany entity);


	/**
	 * 批量修改金额
	 * @param list
	 * @return
	 */
	int updateAccountCountForCompanyBatch(List<AccountCountForCompany> list);
}
